
#include "BSP_Key.h"
#include "sys.h"

void BSP_KeyInit(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 

    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);   
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);

	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;
	GPIO_Init(GPIOB, &GPIO_InitStructure);
}

uint8_t Get_Key_Status(uint8_t KeyNum)
{
    uint8_t status;
    switch(KeyNum)
    {
        case KEY_UP:
            status = PAin(15);
        break;
        case KEY_DOWN:
            status = PBin(6);
        break;
        case KEY_LEFT:
            status = PBin(5);
        break;
        case KEY_RIGHT:
            status = PBin(3);
        break;
        case KEY_CENTER:
            status = PBin(4);
        break;
    }
    return status;
}
